f-string#
name = 'zyf'
print(f'My name is {name}.')输出:
My name is zyf.注意,如果 f-string 中需要输出 {、},则需要进行双写处理:
name = 'zyf'
print(f'''{{
"name": {name},
"role": "student"}}''')输出:
{
"name": zyf,
"role": "student"
}列表中添加数据#
a = [] # 等价于 a = list()
a.append('name')
print(a)输出:
['name']去重#
print(set([1, 2, 2, 3, 3, 3])) # {1, 2, 3}
print(set((1, 2, 2, 3))) # {1, 2, 3}
print(set('hello')) # {'h', 'e', 'l', 'o'}
# 对于字典对象,默认只取键
print(set({'a': 1, 'b': 2, 'a': 3})) # {'a', 'b'}关于 set():
- 不保证顺序
- 输出的是字典对象
如果要保证顺序,可以用 dict.fromkeys:
print(list(dict.fromkeys([1, 2, 2, 3, 1]))) # [1, 2, 3]
print(list(dict.fromkeys((1, 2, 2, 3, 1)))) # [1, 2, 3]
print(list(dict.fromkeys('hello'))) # ['h', 'e', 'l', 'o']
# 对于字典对象,默认只取键
print(list(dict.fromkeys({'a': 1, 'b': 2, 'c': 3, 'a': 4}))) # ['a', 'b', 'c']列表 & 集合 & 字典 & 元组#
{1, 2, 3} # 集合
{"a": 1, "b": 2} # 字典
[1, 2, 3] # 列表
(1, 2, 3) # 元组字符串按某字符进行分隔(输出列表)#
s = "apple,banana,orange"
result = s.split(",")
print(result)输出:
['apple', 'banana', 'orange']捕获终端输入#
choice = input('请输入 yes 或者 no')此时终端会卡住,并提示信息“请输入 yes 或者 no”。
当用户完成输入并回车之后,程序会继续往后运行,choice 会捕获用户输入的信息。
遍历字典中的 Key 和 Value#
test = {"a": 1, "b": 2, "c": 3}
for key, value in test.items():
print(f'{key}: {value}')输出:
a: 1
b: 2
c: 3三元表达式#
B if A else C如果 A 成立,则输出 B,若不成立则输出 C。
推导式#
列表推导式#
test = [i for i in range(10)]
print(test)输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]字典推导式#
test = {i: i*2 for i in range(10)}
print(test)输出:
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}将可迭代对象中的所有项连成字符串#
分隔符.join(可迭代对象)比如:
test = ''.join([i for i in range(10)])
print(test)输出:
0123456789f-string 中关于 {} 的格式化输出#
语法:
f'{value:格式说明符}'常用格式说明符#
| 格式 | 含义 | 示例 | 结果 |
|---|---|---|---|
d | 十进制整数 | f'{65:d}' | 65 |
x / X | 十六进制(小写/大写) | f'{255:02X}' | FF |
b | 二进制 | f'{10:b}' | 1010 |
o | 八进制 | f'{8:o}' | 10 |
f | 浮点数 | f'{3.1415:.2f}' | 3.14 |
e / E | 科学计数法 | f'{1234:.2e}' | 1.23e+03 |
% | 百分比 | f'{0.25:.0%}' | 25% |
, | 千分位分隔 | f'{1234567:,}' | 1,234,567 |
_ | 下划线分隔 | f'{1234567:_}' | 1_234_567 |
宽度、填充、对齐#
| 格式 | 含义 | 示例 | 结果 |
|---|---|---|---|
02 | 最小宽度 2,不足补 0 | f'{7:02d}' | 07 |
10 | 最小宽度 10 | f'{7:10d}' | 7 |
< | 左对齐 | f'{7:<5}' | 7 |
> | 右对齐 | f'{7:>5}' | 7 |
^ | 居中对齐 | f'{7:^5}' | 7 |
0 | 用 0 填充 | f'{7:05d}' | 00007 |
* | 用指定字符填充 | f'{7:*^5}' | **7** |