Python超入门(5)__迅速上手操作掌握Python

news2024/11/17 15:37:23

 

# 20.列表
# 一维列表
names = ['Hash', 'Bob', 'Nick']
print(names)  # 全打印
print(names[:])  # 全打印
print(names[1:3])  # 打印1到2号索引
print(names[:2])  # 打印0到1号索引
'''
['Hash', 'Bob', 'Nick']
['Hash', 'Bob', 'Nick']
['Bob', 'Nick']
['Hash', 'Bob']
'''
# 二维列表:一维列表中嵌套一维列表
matrix = [
    [1, 2, 1, 4],
    [5, 2, 0],
    ['I', 'love']
]
print(matrix[2][1])  # love

matrix[0][1] = 3  # 修改列表元素
print(matrix[0][1])  # 3

print(matrix)  # [[1, 3, 1, 4], [5, 2, 0], ['I', 'love']]

for row in matrix:  # 遍历列表元素
    print(row)
    for item in row:
        print(item)
'''
[1, 3, 1, 4]
1
3
1
4
[5, 2, 0]
5
2
0
['I', 'love']
I
love
'''

// 练习:查询一个列表中最大的数

nums = [12, 34, 112, 45, 54, 21]
num_max = nums[0]
for num in nums:
    if num_max < num:
        num_max = num
print(num_max)  # 112

# 21.列表常用方法
num = [5, 2, 12, 45, 16, 2]
num.append(100)  # 在列表末尾添加100
num.append('sd')  # 在列表末尾添加sd
print(num)  # [5, 2, 12, 45, 16, 2, 100, 'sd']

num.insert(0, 0)  # 在0号索引添加元素0
print(num)  # [0, 5, 2, 12, 45, 16, 2, 100, 'sd']

num.remove(2)  # 删除第一个2
print(num)  # [0, 5, 12, 45, 16, 2, 100, 'sd']

num.pop()  # 删除末尾项
print(num)  # [0, 5, 12, 45, 16, 2, 100]

print(num.index(2))  # 5, 查询元素2在列表中的索引位置
print(num.count(5))  # 1, 统计字符5在列表中的个数

num.sort()  # 升序排序
print(num)  # [0, 2, 5, 12, 16, 45, 100]

num.reverse()  # 降序排序
print(num)  # [100, 45, 16, 12, 5, 2, 0]

num2 = num.copy()  # 复制num列表到num2列表中
print(num2)  # [100, 45, 16, 12, 5, 2, 0]

num.clear()  # 清空列表
print(num)  # []

// 练习:创立一个空列表,将一个非空列表中的非重复元素逐个复制进空列表中。

empty_list = []
copied_list = [12, 12, 34, 23, 21, 34, 4]

for copy in copied_list:
    if copy not in empty_list:
        empty_list.append(copy)

empty_list.sort()
print(empty_list)  # [4, 12, 21, 23, 34]

# 22.元组

# 元组类似列表,但里面的元素是不可改变的,也不能增减。(适合放置固定值) 

yuan_zu = (1, 2, 3, 4)
print(yuan_zu)  # (1, 2, 3, 4)

# yuan_zu[1] = 10
# print(yuan_zu[1]) # TypeError: 'tuple' object does not support item assignment

 

# 23.拆包
coordinates = (5, 6, 7)
x = coordinates[0]
y = coordinates[1]
z = coordinates[2]
print(x, y, z)  # 5 6 7

# 上述赋值可简化为如下所示
new_x, new_y, new_z = coordinates
print(new_x, new_y, new_z)  # 5 6 7

 

# 24. 字典
# 注意事项:每个单词只设置一次,重复设置会被覆盖; 字典的单词需要""括起来。
dictionary = {
    "name": 'xiaoxiao',
    "age": 12,
    "is_verified": True,
    "name": 'shanghai'
}
print(dictionary["name"])  # shanghai

# 使用get访问字典元素,即使不存在该元素也不会报错。
print(dictionary.get("name"))  # shanghai
print(dictionary.get("name"))  # shanghai

print(dictionary.get("id"))  # None

print(dictionary.get("ID", 12345678))  # 12345678, 使用get方法可创建新元素
print(dictionary.get("name", "new_name"))  # shanghai, 但已存在的元素值无法使用get方法修改,更安全。

dictionary["name"] = "my_home"
print(dictionary["name"])  # my_home
# 练习:输入一串数字,并将0~9转换为英文(也可自行转换为其他字符,了解密码学的基本原理)
digits_mapping = {
    "0": 'zero',
    "1": 'one',
    "2": 'two',
    "3": 'three',
    "4": 'four',
    "5": 'five',
    "6": 'six',
    "7": 'seven',
    "8": 'eight',
    "9": 'nine'
}

phone = input("Phone: ")
output = ""

# for eng in phone:
#     output += digits_mapping.get(eng) + " "
# print(output)
# TypeError: unsupported operand type(s) for +: 'NoneType' and 'str',空值不能与字符相加。
# 解决方案:给不在字典中的单词设置一个默认值。

for eng in phone:
    output += digits_mapping.get(eng, "not_digit") + " "
print(output)

"""
Phone: 123141235466xx
one two three one four one two three five four six six not_digit not_digit 
"""

 

# 25.表情转换器
message = input("> ")
words = message.split()  # 默认以空格为分割符,将字符串分组。
print(words)
"""
> "Hello, welcome to my world."
['"Hello,', 'welcome', 'to', 'my', 'world."']
"""
emojis = {
    ":)": "😊",
    ":(": "😥",
    "pig": "🐷"
}
output = ""
for word in words:
    output += emojis.get(word, word) + " "
print(output)
"""
> the pig is :) ,but the cat is :(
['the', 'pig', 'is', ':)', ',but', 'the', 'cat', 'is', ':(']
the 🐷 is 😊 ,but the cat is 😥 
"""

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1117816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

S4系统编辑屏幕报错 报错 RFC callback call rejected by whitelist

点击 Dialog 的布局 直接报错 经过检查&#xff0c;发现正式机和开发机在 SM59 TCP/IP链接 的 EU_SCRP_WN32不一样 把开发机的数据维护到生产机&#xff0c;就可以用了 RS_SCRP_GF_PROCESS_640RFC_GET_FUNCTION_INTERFACERS_SCRP_GF_PROCESS_640RS_SCRP_GF_RBUILDINFORS_SC…

为百度翻译花了3元,感觉还是值得的

这几天熟悉了一下百度翻译。因为我的测试量大&#xff0c;而且有BUG要反复处理&#xff0c;所以翻译量也很大。测试太多了百度就告诉我要充值&#xff0c;消息格式如下&#xff1a; {"error_code":"54004","error_msg":"Please recharge&q…

Python 自动化测试框架unittest与pytest的区别!

引言 这篇文章主要讲unittest与pytest的区别&#xff0c;pytest相对unittest而言&#xff0c;代码简洁&#xff0c;使用便捷灵活&#xff0c;并且插件很丰富。 Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面…

数字档案一体化解决方案

数字档案一体化解决方案是通过整合数字化技术、信息化系统和管理模式&#xff0c;实现档案数字化、信息化、网络化和智能化的档案管理方式。专久智能数字档案一体化解决方案包括以下几个方面&#xff1a; 1. 数字化技术&#xff1a;采用数字化技术对档案进行扫描、转换、存储和…

C++-json(2)-unsigned char-unsigned char*-memcpy-strcpy-sizeof-strlen

1.类型转换&#xff1a; //1.赋值一个不知道长度的字符串unsigned char s[] "kobe8llJfFwFSPiy"; //1.用一个字符串初始化变量 unsigned int s_length strlen((char*)s); //2.获取字符串长度//2.字符串里有双引号"" 需要…

聊聊精益需求的产生过程

这是鼎叔的第七十八篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》&#xff0c;星标收藏&#xff0c;大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》​​​​​​​​​​​​​​已出版&#xff…

Python中if not使用教程

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 python中判断变量是否为None三种写法&#xff1a; 1、if x is None 2、if not x 3、if not x is None 理解成 if not (x is None) 结果是和1相反的 python中None、fals…

AST反混淆实战|某国外混淆框架一小段混淆js还原分析

关注它&#xff0c;不迷路。 本文章中所有内容仅供学习交流&#xff0c;不可用于任何商业用途和非法用途&#xff0c;否则后果自负&#xff0c;如有侵权&#xff0c;请联系作者立即删除&#xff01; 1. 需求 我相信做币圈爬虫的兄弟&#xff0c;或多或少的见过类似下面的…

触想五代强固型工业一体机在近海船舶上的应用

1、行业发展背景 近海船舶的发展紧密关联着海上运输、渔业贸易、旅游开发、能源探测等多领域&#xff0c;带动区域经济、文化繁荣发展。 随着现代科学与信息技术在各行各业的作用增强&#xff0c;工业4.0带动的产业升级逐步渗透进船舶领域&#xff0c;在此背景下&#xff0c;船…

【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻

靶场安装&#xff1a; 靶场安装请参考以下博客&#xff0c;既详细有提供工具&#xff1a; 【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程&#xff0c;让你巩固对xss漏洞的理解及绕过技巧和方法&#xff08;提供资源&#xff09;-CSDN博客【网络安全 --- xss-labs通…

基于SSM的社区物业管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

C++前缀和算法的应用:从仓库到码头运输箱子原理、源码、测试用例

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 双指针 单调双向队列 题目 你有一辆货运卡车&#xff0c;你需要用这一辆车把一些箱子从仓库运送到码头。这辆卡车每次运输有 箱子数目的限制 和 总重量的限制 。 给你…

【Git】idea提交项目到Gitee

文章目录 1. 创建Gitee仓库1. 新建仓库2. 添加描述3. 复制仓库地址 2. idea建立连接提交2.1 Create Git Repository2.2 选择要提交的根目录2.3 Commit2.4 Push2.5 提交成功 1. 创建Gitee仓库 1. 新建仓库 2. 添加描述 3. 复制仓库地址 点击右上角克隆/下载&#xff0c;复制HT…

bitbucket.org 用法

这个网站需要魔法&#xff0c;注册完成后添加厂库时间2023.10 图1 图2 第二张图 &#xff0c;不要.gitignore文件 sourcetree 1,创建前端项目 npm create vitelatest 2.打开vscode创建本地Git 看到Git代提交的文件 sourcetree&#xff0c;新建 已存在的本地厂库 提交到Git 添…

CSRF Token为什么写在Cookie中?CSRF漏洞分析

1. 什么是CSRF&#xff1f; CSRF或XSRF&#xff0c;跨站请求伪造。简单地说&#xff0c;就是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作&#xff08;如发邮件&#xff0c;发消息&#xff0c;甚至财产操作如转账和购买商品&#xff…

Java - 多进程编程(对比线程、API 操作)

目录 一、多进程编程 1.1、为什么要使用多进程编程 1.2、Java 中多进程编程的实现 1.2.1、前言 1.2.2、进程创建 1.2.3、进程等待 1.2.4、封装操作到一个工具类中 一、多进程编程 1.1、为什么要使用多进程编程 一个 .exe 文件执行以后&#xff0c;就会变成一个进程. 多…

高质量发展新引擎:智能工业操作系统助力产业升级

工业操作系统是推动制造业高质量发展的重要支撑&#xff0c;也是推动经济发展方式转变的重要手段。打造自主可控的工业实时操作系统是实现工业科技自立自强的必然要求&#xff0c;是推动高质量发展的必由之路。 基于软件定义控制的智能工业操作系统 Intewell操作系统是由科东…

【技术番外篇】国家高新技术企业 认定

第一个网站&#xff1a;高新技术企业认定管理工作网 http://www.innocom.gov.cn/gqrdw/index.shtml 多给认定机构打咨询电话&#xff0c;少走弯路 有什么不懂的地方就可以打电话咨询专业人士 http://www.innocom.gov.cn/gqrdw/c101321/201905/3b94fbc91a894bcbba97fb7125c9…

【ChatGLM2-6B】nginx转发配置

背景 好不容易把ChatGLM2-6B大语言模型部署好了&#xff0c;使用streamlit方式启动起来了&#xff0c;终于可以愉快的玩耍了&#xff0c;然后想着申请一个域名&#xff0c;使用HTTPS协议访问&#xff0c;但实践过程中&#xff0c;发现这个大语言模型的nginx转发配置还是有点小…

Swingbench 压力测试(超详细)

目录 前提需要有配置好的oracle哦 1、环境准备 2、安装Swingbench 3、造数据 4、压测 前提需要有配置好的oracle哦 1、环境准备 启动监听 lsnrctl start 启动数据库 sqlplus / as sysdba startup 创建表 CREATE TABLESPACE soe DATAFILE /u01/app/oracle/oradata/or…